The Intel 8272A floppy-disk controller (FDC) and it's compatibles (for example, the NEC 765A) are not capable of detecting a direct memory access (DMA) underrun condition on the last byte of a write operation. This problem occurs in systems that: 1) use DMA to transfer data; and, 2) allow the floppy disk controller to be preempted by a DMA channel with higher priority. When this preemption causes the system to fail to respond to a floppy DMA request for more that 14 μS, possibly erroneous data is written to the floppy. This problem is compounded by the fact that by not responding in under 14 μS, the system does not detect that the data written to the floppy may be erroneous. This problem is further detailed in U.S. Pat. No. 5,379,414 issued to Adams and titled “SYSTEMS AND METHODS FOR FDC ERROR DETECTION AND PREVENTION” and is hereby incorporated herein by reference for all that it discloses.
Since the writing of erroneous data may cause files on the floppy to be lost or seriously corrupted, there is a need in the art for solutions that either detect, or prevent the writing of erroneous data to a floppy disk.